From 3878519449d3ca81c42feff6f58a6fdcd34bbb6b Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Mon, 14 Jul 2014 18:58:27 -0400 Subject: [PATCH] window: Use CAIRO_OPERATOR_SOURCE to clear to background Some windows, like GtkWindow and some other apps, set a transparent background. The guarantee for begin_paint_region is that there should be a full clear to the specified background color, not a composite against what was there before. This fixes repaint artifacts in Wayland and Weston in a better way than 76922c169f0699d9b85ef3eff2170f2cede1782c. --- gdk/gdkwindow.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 2ae5a6988b..04e3d0a27b 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -2974,6 +2974,7 @@ gdk_window_clear_backing_region (GdkWindow *window) else cairo_set_source_rgb (cr, 0, 0, 0); + cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); gdk_cairo_region (cr, window->current_paint.region); cairo_fill (cr); -- 2.30.2